
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
jest-diff
Advanced tools
The jest-diff npm package is a utility primarily used to show differences between two values, typically used in testing environments to assert the equality of objects, arrays, or other data structures. It is part of the Jest testing framework but can be used independently for its diffing capabilities.
Diffing two values
This feature allows you to compare two JavaScript objects and outputs a string that visually represents the differences between them. It is useful for debugging and in test assertions to see what exactly differs when a test fails.
const diff = require('jest-diff');
const a = { a: { b: { c: 5 } } };
const b = { a: { b: { c: 6 } } };
console.log(diff(a, b));
Customizing diff output
This feature allows customization of the diff output by passing options. You can specify annotations for the compared values, which helps in making the output more understandable and tailored to specific needs.
const diff = require('jest-diff');
const options = { aAnnotation: 'First', bAnnotation: 'Second' };
const a = [1, 2, 3];
const b = [2, 1, 3];
console.log(diff(a, b, options));
Deep-diff is a library that provides a detailed analysis of differences between any two JavaScript objects. It is more granular than jest-diff as it provides more detailed information about the type of change (edit, delete, add), which can be useful for more complex diffing needs.
The 'diff' package is another popular choice for computing differences between texts. It is not limited to JavaScript objects and can handle strings effectively, making it suitable for applications like text editors or any scenario where text comparison is needed. Unlike jest-diff, it does not provide a structured view for object differences.
23.6.0
[jest-cli]
Add changedSince
to allowed watch mode configs (#6955)[babel-jest]
Add support for babel.config.js
added in Babel 7.0.0 (#6911)[jest-resolve]
Add support for an experimental mapper
option (Watchman crawler only) that adds virtual files to the Haste map (#6940)[jest-resolve]
Only resolve realpath once in try-catch (#6925)[expect]
Fix TypeError in toBeInstanceOf
on null
or undefined
(#6912)[jest-jasmine2]
Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)[jest-circus]
Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)[expect]
Fix variadic custom asymmetric matchers (#6898)[jest-cli]
Fix incorrect testEnvironmentOptions
warning (#6852)[jest-each]
Prevent done callback being supplied to describe (#6843)[jest-config]
Better error message for a case when a preset module was found, but no jest-preset.js
or jest-preset.json
at the root (#6863)[jest-haste-map]
Catch crawler error when unsuccessfully reading directories (#6761)[docs]
Add custom toMatchSnapshot matcher docs (#6837)[docs]
Improve the documentation regarding preset configuration (#6864)[docs]
Clarify usage of --projects
CLI option (#6872)[docs]
Correct failure-change
notification mode (#6878)[scripts]
Donโt remove node_modules from subdirectories of presets in e2e tests (#6948)[diff-sequences]
Double-check number of differences in tests (#6953)FAQs
Unknown package
The npm package jest-diff receives a total of 49,753,469 weekly downloads. As such, jest-diff popularity was classified as popular.
We found that jest-diff demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.